<?php
namespace WebAdmin\Controller;
use WebAdmin\Controller\BaseController;
class ProductController extends BaseController {

	//ThinkPHP的构造函数
	public function _initialize() {
		//自动加载的类
		parent::_initialize();
		new \Org\Admin_autoload();
	}

    public function index(){
    	$this->assign('page_title','产品列表');
    	$DataModel = D("Product");
    	$items = $DataModel->select();
    	$this->assign('volist',$items);
    	
    	//$this->assign('')
        $this->display();
    }
    
    public function add(){
    	if(!empty($_POST)) {
    		if(!empty($_FILES['imgfile']['name'])){    		
    		import ( '@.ORG.UploadFile' );
    		$upload = new \UploadFile ();
    		// 设置文件大小
    		$upload->maxSize = 3292200;
    		// 设置文件保存规则唯一
    		$upload->saveRule = 'uniqid';
    		// 设置上传文件的格式
    		$upload->allowExts = array ();
    		// 保存路径
    		$root_path = dirname(dirname(dirname(dirname(__FILE__))));
    		$upload->savePath = $root_path.'/www/Public/Uploads/';
    		// 设置需要生成缩略图，仅对图像文件有效
    		$upload->thumb = false;
    		
    		// 上传失败返回错误信息
    		if (! $upload->upload ()) {
    			$this->error ( $upload->getErrorMsg () );
    		} else {
    			// $this->success('上传成功');
    			// 获取上传文件的信息
    			$inf = $upload->getUploadFileInfo ();
    		}
    		}	
    		$DataModel = D("Product");
    		$_POST['add_time'] = date('Y-m-d H:i:s');
    		$_POST['is_show'] = 1;
    	    if(!empty($inf)){
    			$inf[0]['savepath'] = str_replace($root_path."/www","",$inf[0]['savepath']);
    			$_POST['imgurl'] = str_replace("./","/",$inf[0]['savepath']) . $inf [0] ['savename'];//"http://".FRONT_SITE_NAME.
    		}
    		
    		$data = $DataModel->create($_POST);
    		$insert_id = $DataModel->add($data);
    		if($insert_id){
    			
    			header("Content-type: text/html; charset=utf-8");
    			echo "<script>window.location.href='".__APP__."/index.php/Product/';</script>";exit;
    		}
    	}else{
    	    $CateModel = D("ProductCategory");
    	    $category_list = $CateModel->select();
    		$this->assign('category_list',$category_list);
    	    $this->display();
    	}
    }
    
    public function getData(){
    	$CateModel = D("ProductCategory");
    	$category_list = $CateModel->select();
    	$categories = array();
    	foreach($category_list as $v){
    		$categories[$v['id']] = $v['name'];
    	}
    	$DataModel = D("Product");
    	$condition = array();
    	if(!empty($_GET['id'])){
    		$condition[] = "id=".(int)$_GET['id'];
    	}
    	if(!empty($_GET['name'])){
    		$condition[] = "name LIKE '%".$_GET['name']."%'";
    	}
    	if(!empty($_GET['sort'])){
    		$condition[] = 'sort = '.(int)$_GET['sort'];
    	}
    	$conditions = implode(" AND ",$condition);
    	$items = array();
    	$page = (int)$_GET['page'];
    	$items['page'] = $page>0 ? $page :1;
    	$items['records'] = $DataModel->where($conditions)->count();
    	$limit = $_GET['rows'] ? (int)$_GET['rows']: 20;
    	$items['total'] = ceil($items['records']/$limit);
    	$list = $DataModel->where($conditions)->page($page)->limit($limit)->select();
    	 
    	for($i=0;$i<count($list);$i++){
    		$list[$i]['category'] = $categories[$list[$i]['category_id']];
    	}
    	$items['rows'] = $list;
    	$this->ajaxReturn($items);
    }
    
    
    public function edit(){
    	$DataModel = D("Product");
    	if(!empty($_POST)) {
    		$_POST['add_time'] = date('Y-m-d H:i:s');
    		if(!empty($_FILES['imgfile']['name'])){
    			import ( '@.ORG.UploadFile' );
    			$upload = new \UploadFile ();
    			// 设置文件大小
    			$upload->maxSize = 3292200;
    			// 设置文件保存规则唯一
    			$upload->saveRule = 'uniqid';
    			// 设置上传文件的格式
    			$upload->allowExts = array ();
    			// 保存路径
    			$root_path = dirname(dirname(dirname(dirname(__FILE__))));
    			$upload->savePath = $root_path.'/www/Public/Uploads/';
    			// 设置需要生成缩略图，仅对图像文件有效
    			$upload->thumb = false;
    		
    			// 上传失败返回错误信息
    			if (! $upload->upload ()) {
    				$this->error ( $upload->getErrorMsg () );
    			} else {
    				// $this->success('上传成功');
    				// 获取上传文件的信息
    				$inf = $upload->getUploadFileInfo ();
    			}
    		}
    	    if(!empty($inf)){
    				//unlink old file
    				$item = $DataModel->where("id=".(int)$_POST['id'])->select();
    				unlink($root_path."/www".str_replace("http://".FRONT_SITE_NAME,"",$item[0]['imgurl']));
    				$inf[0]['savepath'] = str_replace($root_path."/www","",$inf[0]['savepath']);
    				 
    				$_POST['imgurl'] = str_replace("./","/",$inf[0]['savepath']) . $inf [0] ['savename'];//"http://".FRONT_SITE_NAME.
    			}
    		
    		$DataModel->where("id=".(int)$_POST['id'])->save($_POST);
    		
    		header("Content-type: text/html; charset=utf-8");
    		echo "<script>window.location.href='".__APP__."/index.php/Product/';</script>";exit;
    	}else{
    		$item = $DataModel->where("id=".(int)$_GET['id'])->select();
    		$this->assign('vo',$item[0]);
    		$CateModel = D("ProductCategory");
    		$category_list = $CateModel->select();
    		$this->assign('category_list',$category_list);
    		$this->display();
    	}
    }
    
    public function delete(){
    	if(!empty($_POST)) {
    		$DataModel = D("Product");
    		$id = $_POST['id'];
    		$item =  $DataModel->where("id=".(int)$id)->find();
    		$result = $DataModel->delete((int)$id);
    		
    		if($result){
    			$root_path = dirname(dirname(dirname(dirname(__FILE__))));
    			unlink($root_path."/www".str_replace("http://".FRONT_SITE_NAME,"",$item['imgurl']));
    			header("Content-type: text/html; charset=utf-8");
    			echo "<script>layer.closeAll(); \$table.trigger(\"reloadGrid\");</script>";exit;
    		}
    	}
    }
       
    
}